<?php
/*
 * @Descripttion: run with command      php main.php start
 * @version: 
 * @Author: ewgof
 * @Date: 2020-08-12 00:24:08
 * @LastEditors: ewgof
 * @LastEditTime: 2020-10-06 15:05:20
 */

ini_set('display_errors', 'on');
use Workerman\Worker;

// 检查扩展
if(!extension_loaded('pcntl'))
{
    exit("Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
}

if(!extension_loaded('posix'))
{
    exit("Please install posix extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
}

// 全局路由变量
$route = [];
// 全局配置变量
$config = [];
// 全局缓存变量
$cache = [];
global $route,$config,$cache;

// 引入自动加载类
require_once __DIR__ . '/vendor/autoload.php';
// 引入框架公共助手文件
require_once __DIR__ . '/cw/helper.php';
// 引入用户自定义的公共助手文件
require_once __APP__ . 'common/helper.php';
// 设置系统默认时区
ini_set('default_datetime_qzone', config('app.default_datetime_qzone'));

// 系统本身日志记录配置
$log_file_name = date('d') . '_cw.log';
$log_file_path = __RUNTIME__ . 'log/' . date('Ym');
if (!file_exists($log_file_path)) {
    mkdir($log_file_path, 0755, true);
}
Worker::$logFile =  $log_file_path . '/' . $log_file_name;

// 标记是全局启动
define('GLOBAL_START', 1);

// 加载所有Applications/*/cwservice_*.php，以便启动所有服务
foreach(glob(__DIR__ . '/services/cwservice_*.php') as $start_file)
{
    require_once $start_file;
}
// 运行所有服务
Worker::runAll();
